A vast amount of data is stored in various forms of data stores. Typically, to access the data, a user submits a request for information, such as via a web browser. A server receives the request, and based on the context of the request, finds one or more responses. To determine the context, the server traditionally recognizes a category of the request, and combines the category with the contents of the request. The server then matches the context of the request to the context of one or more responses, and returns the one or more responses to the user. However, because it is difficult to determine the context of the request, the server often returns irrelevant responses.